#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	int i = 0;
//	char str[20] = {0};
//	int  letter = 0;
//	int blank = 0;
//	int dig = 0;
//	int other = 0;
//
//	while (scanf("%s", &str) != EOF)
//	{
//		int sz = strlen(str);
//		for (i = 0; i < sz; i++)
//		{
//			if(getchar(str)>=65&& getchar(str)<=106)
//		}
//	}
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int year = 0;
//	int i = 0;
//	scanf("%d", &year);
//	if (year < 2001 || year>2100)
//	{
//		printf("Invalid year!");
//	}
//	else 
//	{
//		for (i = 2001; i <= year; i++)
//		{
//			if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
//			{
//				printf("%d\n", i);
//			}
//			
//		
//		}
//		if (i <= 2004)
//		{
//			printf("None");
//		}
//	}
//	return 0;
//}




//int main()
//{
//	printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");
//	int a = 1;
//	int i = 0;
//	while (a)
//	{
//		scanf("%d", &a);
//		if (i < 5)
//		{
//			switch (a)
//			{
//			case 1:
//				printf("price = 3.00\n");
//				i++;
//				break;
//			case 2:
//				printf("price = 2.50\n");
//				i++;
//				break;
//			case 3:
//				printf("price = 4.10\n");
//				i++;
//				break;
//			case 4:
//				printf("price = 10.20\n");
//				i++;
//				break;
//			case 0:
//				return 0;
//			default:
//				printf("price = 0.00\n");
//				i++;
//				break;
//			}
//		}
//		else
//			break;
//		
//	}
//	
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	char c = 0;
//	double d = 0;
//	double sum = 0;
//	scanf("%d %d %c", &a, &b, &c);
//	switch (b)
//	{
//	case 90:
//		d = 6.95;
//		break;
//	case 93:
//		d = 7.44;
//		break;
//	case 97:
//		d = 7.93;
//		break;
//	default:
//		break;
//	}
//	if (c == 'm')
//	{
//		sum = a * d * 0.95;
//		printf("%.2lf", sum);
//	}
//	else
//	{
//		sum = a * d * 0.97;
//		printf("%.2lf", sum);
//	}
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//	int count = 0;
//	scanf("%d%d%d", &year, &month, &day);
//	if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
//	{
//		switch (month)
//		{
//		case 1:
//			count += 31;
//		case 2:
//			count += 29;
//		case 3:
//			count += 31;
//		case 4:
//			count += 30;
//		case 5:
//			count += 31;
//		case 6:
//			count += 30;
//		case 7:
//			count += 31;
//		case 8:
//			count += 31;
//		case 9:
//			count += 30;
//		case 10:
//			count += 31;
//		case 11:
//			count += 30;
//		case 12:
//			count += 31;
//			break;
//
//		default:
//			break;
//		}
//		count -= day;
//		printf("%d", count);
//	}
//	else
//	{
//		switch (month)
//		{
//		case 1:
//			count += 31;
//		case 2:
//			count += 28;
//		case 3:
//			count += 31;
//		case 4:
//			count += 30;
//		case 5:
//			count += 31;
//		case 6:
//			count += 30;
//		case 7:
//			count += 31;
//		case 8:
//			count += 31;
//		case 9:
//			count += 30;
//		case 10:
//			count += 31;
//		case 11:
//			count += 30;
//		case 12:
//			count += 31;
//
//		default:
//			break;
//		}
//		count -= day;
//		printf("%d", count);
//	}
//	
//	return 0;
//}

//#include<stdio.h>
//#include<math.h>
//double MAX(double root1, double root2)
//{
//	return root1 > root2 ? root1 : root2;
//}
//double MIN(double root1, double root2)
//{
//	return root1 < root2 ? root1 : root2;
//}
//int main()
//{
//	double a = 0;
//	double b = 0;
//	double c = 0;
//	double derta = 0;
//	double root1 = 0;
//	double root2 = 0;
//	double max = 0;
//	double min = 0;
//	
//	scanf("%lf %lf %lf", &a, &b, &c);
//	derta = pow(b, 2) - 4 * a * c;
//	if (a == 0 && b == 0 && c != 0)
//	{
//		printf("Not An Equation");
//	}
//	else if (a == 0 && b == 0 && c == 0)
//	{
//		printf("Zero Equation");
//	}
//	else if (a == 0 && b != 0 && c != 0)
//	{
//		root1 = (-c) / b * 1.0;
//		printf("%.2lf", root1);
//	}
//	else if (derta == 0 && a != 0)
//	{
//		root1 = (-b) / (2 * a) * 1.0;
//		printf("%.2lf", root1);
//	}
//	else if (derta > 0 && a != 0)
//	{
//		root1 = (-b + sqrt(derta)) / (2 * a);
//		root2 = (-b - sqrt(derta)) / (2 * a);
//		max = MAX(root1, root2);
//		min = MIN(root1, root2);
//		printf("%.2lf\n%.2lf", max, min);
//	}
//	else if (derta < 0 && a != 0)
//	{
//		printf("%.2lf+%.2lfi\n", -b / ((2 * a) * 1.0), sqrt(-derta) / (2 * a));
//		printf("%.2lf-%.2lfi", -b / ((2 * a) * 1.0), sqrt(-derta) / (2 * a));
//	}
//	
//	return 0;
//}

#include<stdio.h>
int main()
{
	int digit, i, letter, N, other, blank;
	char ch;
	digit = letter = other = blank = 0;
	scanf("%d", &N);
	getchar();
	for (i = 1; i <= N; i++)
	{
		ch = getchar();
		if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
		{
			letter++;
		}
		else if (ch >= '0' && ch <= '9')
		{
			digit++;
		}
		else if (ch == ' ' || ch == '\n')
		{
			blank++;
		}
		else
		{
			other++;
		}
	}
	printf("letter = %d, blank = %d, digit = %d, other = %d\n", letter, blank, digit, other);

	return 0;
}